Can Out-of-Order Instruction Execution in Multiprocessors Be Made Sequentially Consistent?
نویسندگان
چکیده
We investigate all possible combinations of re-ordering of read and write instructions and their e ects on the correctness of programs that are designed for sequential consistency. With certain combinations of re-orderings, any program that accesses shared memory through only reads and writes and that is correct assuming sequential consistency, can be transformed to a new program that does not use any explicit synchronization, and that remains correct in spite of the instruction re-ordering. With other combinations of re-ordering, such transformations do not exist, without resorting to explicit synchronization.
منابع مشابه
Semantically Sequential, Parallel Execution of Programs on Multiprocessors
A program’s execution consistent with the user-specified program order simplifies many aspects of computer design, e.g., programming and resource management. This has greatly benefited uniprocessor system adoption. Parallel systems do not enforce an ordered program execution, complicating system design. Hence, I ask, can parallel execution of programs on multiprocessors be made program-order co...
متن کاملEfficient and Correct Programs that Share
In this paper we consider an optimization problem that arises in the execution of parallel programs on shared-memory multiple-instruction-stream, multiple-data-stream (MIMD) computers. A program on such machines consists of many sequential program segments, each executed by a single processor. These segments interact as they access shared variables. Access to memory is asynchronous, and memory ...
متن کاملMicrogrids - The exploitation of massive on-chip concurrency
In this paper a general model for instruction-level distributed computing is described. This model provides an explicit description of instruction-level concurrency and allows for scalable implementations of various types of wide-issue multiprocessors. The model is based on microthreading, a hardware-supported multithreading paradigm that schedules small fragments of code dynamically. This mode...
متن کاملInstruction Level Parallelism through Microthreading - A Scalable Approach to Chip Multiprocessors
Most microprocessor chips today use an out-of-order instruction execution mechanism. This mechanism allows superscalar processors to extract reasonably high levels of instruction level parallelism (ILP). The most significant problem with this approach is a large instruction window and the logic to support instruction issue from it. This includes generating wake-up signals to waiting instruction...
متن کاملThe Impact of Instruction - Level Parallelism onMultiprocessor Performance and Simulation
Current microprocessors exploit high levels of instruction-level parallelism (ILP) through techniques such as multiple issue, dynamic scheduling, and non-blocking reads. This paper presents the rst detailed analysis of the impact of such processors on shared-memory multiprocessors using a detailed execution-driven simulator. Using this analysis, we also examine the validity of common direct-exe...
متن کامل